我們已經嘗試用OpenCV畫過圓形、線條、矩形和效果文字,今天來接著補充橢圓形的繪圖函式吧。
import numpy as np
import cv2
img = np.zeros((480, 640, 3), np.uint8)
img.fill(128)
不得不說,OpenCV的函式的命名方式真的是淺顯易懂。畫圓形的circle
、畫線條的line
、畫矩形的rectangle
相繼出現,橢圓繪圖函式的名稱也順理成章的被命名為——cv2.ellipse
。
在開始使用cv2.ellipse
之前,我們要先定義好函式需要的各項參數:
# 中心點
center = (300, 300)
# 軸長
axes = (100, 50)
# 角度
angle = 45
# 起始角度
startAngle = 0
# 結束角度
endAngle = 270
# 顏色
color = (0, 255, 0)
# 寬度
thickness = 1
center
是橢圓形在底圖上的中心點座標,axes
用來指定橢圓的半長軸與半短軸的長度,angle
設定橢圓的基本角度。
startAngle
與endAngle
這兩個比較特別,它們決定了橢圓形要畫多大和這個圖形的起始位置,如果要畫出一個無缺的橢圓,可以把起始角度設定為0,結束角度設定為360。而如果只要畫出半個橢圓形,也可以把起始角度設定為0,結束角度設定為180,而我們這次要畫只有四分之三實心的橢圓。
把參數塞進函式之後會長這個樣子:
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness)
# 也可以直接輸入
# cv2.ellipse(img, (300, 300), (100, 50), 45, 0, 270, (0, 255, 0), 1)
設定完後我們印出來看看吧:
cv2.imshow('ellipseImage', img)
cv2.waitKey(0)
cv2.destroyAllWindows()